package com.xiguanlezz.cn.api.remote;

import com.xiguanlezz.cn.api.remote.response.Response;

import java.util.concurrent.Executor;

/**
 * @Author：习惯了种种
 * @CreateDate：2024/11/19 14:34
 * @Description：请求回调函数接口
 */
public interface RequestCallBack<T extends Response> {

    /**
     * 获取回调函数线程池（回调函数需要在线程池中执行）
     */
    Executor getExecutor();

    /**
     * 获取超时时间
     */
    long getTimeout();

    /**
     * 执行成功的回调
     */
    void onResponse(T response);

    /**
     * 执行失败的回调
     */
    void onException(Throwable e);

}
